在這系列的文章之後相信大家已經找到自己努力的方向了,這次的文章我盡可能總結與 React 相關的部分,新手時期不能理解框架運作,很大的原因是基礎觀念問題,比如 javascript 基本的閉包啦、紙紮的 event loop 觀念啦...等等,不想多提及是怕跑題了,因為我認為那是我們每個人,身為工程師必須自行檢驗的問題,或許之後有機會再考慮做這方面基礎的教學吧!
老實說,後面提及 Next 框架實作時,很多都屬於後端操作的行為了,這對想要待在前端舒適圈的朋友有點不公平,通往更資深的道路其實不一定只能往後端前進,你一樣可以往 React Native 這類 App 開發的方向來點技能樹,但我主要還是想要補齊 React 發展的新功能與新概念,斷在這裡其實也比較好一點,我本來後面想講的內容也比較偏向我自己的想法和選擇,當然有機會還是會用主題的方式分享。
還有就是我可能還是要照顧全新手的部分,我自己是有製作教學文件在我的 GitHub 連結裡面,但主要是給認識我的朋友或是學生看的,我是怕說沒有前後文,沒有解說PPT會不會讓一些新手有錯誤認知,現在我已經補上了,但對很早開始追的讀者來說還是比較抱歉的。
在我的觀念裡面,認知和思想永遠要比你直接拿到解答來得重要。
這也是我喜歡做開發的一個原因,每個開發就是為了解決某些問題,但解決問題的方法可以是無限多種的,而每種解法後面的思維邏輯,要往往比正確解答來得有趣。
我在讀 patterns 的書籍時,更希望透過相同的概念,來使用不同的範例來實作,這樣能夠比較每一種做法的差異,與他背後想解決和關心的問題,這些觀念和想法的探討,才能夠有效幫助你在未來開發的場景下使用。
我們從小寫慣了選擇題,但真正的開發是不會只有四種選項的,你的想像力也不應該只侷限於四種,所謂的標準解答在不同的情境當中,也可能變成臭不可聞的 💩 code。
所以當你去面任何公司,也可以用同樣的觀念反推,有歷練的工程師通常不會把話說得太死,也比較會在乎你解題的思維和想法,那種實力很差的就只會在乎他以為的標準答案,還不能接受不同的想法,這個可以過濾掉很多雷缺,當然錢也很重要啦,選錢多的總是比較不會心理那麼不平衡。
身為一個半路出家的雜役,能提供的就是我吸收完反芻的一些甘苦談,做軟體開發,除了學習技術之外,實際做出來還是更為重要的事,我很喜歡 Linus Torvalds 說的
Talk is cheap. Show me the code.
所以我在學習的過程中,會直接做一個與範例不同的功能,來證明他是對的而且我的思路也是對的,很多人學習的時候只有看過別人的 source code 就開始高談闊論,這種方式並不會讓你成長,只會讓自己永遠活在自己以為的舒適圈裡面。
也不能說不行啦!網路世界少了這些酸民,就少了迷因的素材了!
Wrong cannot afford defeat but Right can. -泰戈爾
不害怕失敗的精神,才是通往更成熟的捷徑,每次的失敗都會讓我映像深刻,那要遠比背書來的容易。
所以成功的背後是透過無數的失敗累積和灌溉,那你在學習的時候怎麼可以輕易掠過這些犯錯的經驗,這也是我比較喜歡看原文教學影片的原因,他們思想和我們從小接受的價值是相抵觸的,誰說學習的目的一定是要為了某張證書,某個名校的學歷,那些只不過是世俗眼光下的奢侈品。
對一個人來說,學習某項技術,本來就是為了解決某些需求而產生的,那是最純真,最快樂的學習環境。
加上證書或證照,那也只不過是概略的保存期限而已。
我們都應該要自我反省,我們是真的為了最存粹的動機而學習,還是為了那張世俗眼光通膨下的產物而學習?
『求知慾』本來就是尋求知識的渴望,加上分數加上等級這些世俗的價值,讓我們本能地避開犯錯的可能,也就捨去了對我而言最有效的記憶方式,這些都是我經歷過後才深刻體悟的。
我們都有好學的一面,只不過被教育制度下給污化了
願大家都能找回屬於自己學習的快樂,不論任何技術!
真的不是太重要,當然我不是那種學歷無用論的邏輯。
試想同為老闆的角度,如果你開的公司選人才的方式只有透過學歷,那你怎麼能確保他的實力配得上產品開發的技術要求?同為名校畢業,難道就沒有走後門這類的漏網之魚嗎?
再舉個例子,今天如果我是哈佛大學CS相關科系畢業,要去面試 Google 的機會,他也不會因為你是哈佛大學畢業的就放水,或略過演算法的那個面試流程啊!
考演算法的目的,是為了理解受試者對需求的理解、溝通、還有解題上排查的能力,並且確保他能夠符合公司對於技術的基本要求,如果都能具備的話,學歷也只是大家茶餘飯後聊天社交的話題而已,如果你有更有趣的背景,不是也顯得更特別更有話題嗎?
『XX天速成班』這是不對的行銷話術,沒有速成的技術,只有不熟的技術,這系列的文章就是要告訴轉職或想轉職的大家,不要笑想只花三個月念完人家本科花四年才學完的東西,就算大學的課排很鬆,你也不可能只花三個月就能吸收完全,而且做過開發的都知道,書上的東西事一回事,跑起來的程式又是另外一回事!
走得遠和持久要比走得快更為重要,沒必要在短時間透支掉自己學習的動力,抓自己覺得舒服的學習時數,持之以恆,保持與生活的平衡,不要因為別人的成功來對自己的生活施加不必要的壓力,別人的成功可以參考應用,每個人都是不同的個體,他能承受的苦難,你未必也能承受,又或者幹嘛承受XD。
這部分要感謝的都是我在 youtube 上看的一些平台,這一路上給予我前進的方向與動力,全部列出來的話可能會多到難以置信,我就挑頻道還有我主要學到的內容來分類吧!
Html, css, javascript部分:
頻道 | 簡介 |
---|---|
Kevin Powell | 被網友尊稱 God of CSS,那一定是大拇指的啦! |
Web Dev Simplified | 基礎的入門 html/javascript/css 教學,我的基礎很多都是從這裡學習的。 |
TraversyMedia | 這個也是早期學習資源不充足的環境下的一盞明燈。 |
developedbyed | 這個也是早期學習資源不充足的環境下的一盞明燈,另外有教學一些 Figma 的使用。 |
AniaKubow | 這個應該不用多做介紹了吧,除了能力以外老師漂亮很重要。 |
ChrisCourses | 利用 javascript 來做遊戲開發又能講解的這麼仔細的頻道不多啊。 |
meth-method | 停更很久了,但利用 javascript 開發馬力歐遊戲的教學確實很映像深刻。 |
Adrian Twarog | 除了基礎外,在開發設計層面的教學更加受用。 |
FollowAndrew | css和設計畫面的觀念應向很深。 |
Alex 宅幹嘛 | 以前常常會參加每週三的直撥,台灣口音良心平台。 |
React部分:
頻道 | 簡介 |
---|---|
Ben Awad | 算是我的引路人,基本上我的 React 是跟著他學習的。 |
PedroTech | 給了我很大的激勵,他還在唸大學的時候就已經在做教學了,雖然我那時候已經會 React 了,但還是從他的影片內容學到很多不同的觀念。 |
Jack Herrington | 這個我已經推了很多次了,如果他早點做影片我可以不用學得那麼辛苦。 |
Theo | T3 stack的作者,我就不再多做介紹了。 |
Dave Gray | 教學很詳細的平台,我記得在 Udemy 好像也有開課。 |
Codevolution | 雖然有點口音,但教學上很細心。 |
Leo Roese | 教學偏向使用 Next 框架,但我覺得還是蠻受用的,比較需要一點基礎。 |
Anthony Sistilli | 有點口音,但我的 Mui 算是從這裡學的。 |
JavaScript Mastery | 很多有關 React 的教學。 |
Sonny Sangha | 我的 React Native 算是從這裡學的。 |
Josh tried coding | 主攻 React, Next, typescript。 |
其他推薦部分:
這邊的話多半就是程式基礎觀念,有前端,有後端,也有不語言的應用。
頻道 | 簡介 |
---|---|
哈佛CS50 | 推薦,完全新手,完全受用教學,但不要忘記自己要實作練習的部分,看完!==會,功課都有上繳的話可以換到世俗的證書一張,大推。 |
freeCodeCamp | 非營利組織,會有不同領的高手分享課程。 |
Neet code | 練刷題技巧,讚讚。 |
ThePrimeTime | 偏向瞎聊,但時不時會分享很多有趣又實用的東西。 |
Ryan Carniato | solid js 的作著,直播導向內容,可跟著實作 |
Fireship | coding news和memes的聚集地 |
Programming with Mosh | 新手向內容,有網路付費課程可以上進階,節奏比較慢,但很詳細。 |
Caleb Curry | 黑板觀念題,對於非本科來說挺受用的。 |
以上就是我比較推薦的一些學習平台,當然還有很多,但我相信上面的已經夠大家使用了,學習是一輩子的事情,不用過於著急,也不用太有壓力,只要有在思考,你就是有在成長和進步。
那麼,今年的內容就到這邊,希望我的分享有幫助到大家!
感謝看到這裡的各位,祝福你們可以順利找到自己努力的方向。